package com.mes.basicdata.domain;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

/**
 * Created on 2017-03-19
 * </p>
 * 
 * @author lcs
 * 
 */
public class Equipment extends Resource implements java.io.Serializable {
	// 资源编号
	private String equipmentUid;
	// 资源名称
	private String equipmentName; 
	// 资源类型
	private String equipmentType;  
	private String deptUid;
	private String oldDeptUid;
	private String oldEquipmentClassUid;
	private String deptName;
	// 父工作中心
	// private EquipmentClass equipmentClass;
	private String equipmentClassUid;
	private String equipmentClassName;
	private String customerResUid;
	// 位置
	// private Location location;
	private String location;
	// 资源池数量
	private Integer numOfPooledResources;
	// 估计排队等待时间
	private Integer estimatedQueueTime;
	// 估计排队等待时间单位
	private String estimatedQueueTimeUom;
	// 默认安装时间
	private Integer defaultSetupTime;
	// 默认安装时间单位
	private String defaultTimeUom;
	// 理想利用率
	private Float idealUtilizationLevel;
	// 默认日历
	// private String defaultCalendarUid;
	private Calendar defaultCalendar;
	private String idealUtilCalendarName;
	// 费用率
	private String wageRatePer;
	// 每次工资率
	private Float wageRatePerTime;
	// 安装矩阵号
	private String setupMatrixId;
	// 安装队列编号
	private String setupSequenceId;
	// 允许反向安装序列
	private Integer setupSequenceGoback;
	// 最小队列时间
	private Integer minimumQueueTime;
	// 最小队列时间单位
	private String minimumQueueTimeUom;
	// 型号名称
	private String modelName;
	// 调度冻结水平
	private Integer scheduleFreezeLevel;
	// 调度冻结水平单位
	private String scheduleFreezeLevelUom;
	// 分批水平
	private Integer batchingLevel;
	// 分批水平单位
	private String batchingLevelUom;
	// 分批提前期
	private Integer batchingLookAhead;
	// 合批考虑提前时间单位
	private String batchingLookAheadUom;
	// 拖期容差
	private Integer latenessTolerance;
	// 拖期容差单位
	private String latenessToleranceUom;
	// 提前容差
	private Integer earlinessTolerance;
	// 提前容差单位
	private String earlinessToleranceUom;
	// 队列大小模式
	private String queueSizeMode;
	// 最大队列数量
	private String maxQueueSize;
	// 队列一致模式
	private String queueConformanceMode;
	// 产出率限制
	private Integer outputRateLimit;
	// 每台产出率限制
	private String outputRateLimitPer;
	// 每台产出率限制单位
	private String outputRateLimitUom;
	// 最小流量警告范围
	private Integer lowRwt;
	// 每台最小流量范围
	private String lowRwtPer;
	// 最小流量范围单位
	private String lowRwtUom;
	// 最高流量范围单位
	private String highRwtUom;
	// 最高流量范围单位
	private String highRwtPer;
	// 最高流量范围
	private Integer highRwt;
	// 增加取消修改标志
	private String acmFlag;
	// 每台增量成本
	private String overtimeCostPer;
	// 每次增量成本
	private String overtimeCostPerTime;
	// 上次维修日期
	private Integer lastMaintenanceDate;
	// 上次维修日期格式
	private String lastMaintenanceDateFormat;
	// 上次维修序列号
	private String lastMaintenanceSequenceNumber;
	// 上次维修时间
	private Integer lastMaintenanceTime;
	// 上次维修时间单位
	private String lastMaintenanceTimeUom;
	// 从上次维修后负载大小
	private Integer loadSinceLastMaintenance;
	// 负载单位
	private String loadSinceUom;
	// 最大利用等级
	private Integer maximumUtilLevel;
	// 最小优化日历名称
	private String minOpTimeCalName;
	// 最小等待配置长度
	private Date minQueueConfigLength;
	// 配置长度单位
	private String minQueueConfigUom;
	// 最小利用等级
	private Integer minimumUtilizationLevel;
	// 这个资源自动卸载
	// private Integer offloadableFrom;
	private Integer offloadableFrom;
	// 其它资源自动卸载
	private Integer offloadableTo;
	// 超期基准
	private Integer overtimeBasis;
	// 超期基准单位
	private String overtimeBasisUom;
	// 超期范围
	private Integer overtimeScope;
	// 超期范围单位
	private String overtimeScopeUom;
	// 物料处理类型
	private String processedMaterialTypes;
	// 排队大小单位
	private String queueSizeUom;
	// 调度关键性
	private Integer schedulingCriticality;
	// 单台安装成本
	private String unitSetupCostPer;
	// 单次安装成本
	private Float unitSetupCostPerTime;
	// CAO相关
	private Integer caoPostProcDownstream;
	// 保持相关任务在一起
	private Integer keepRelatedTasksTog;
	// 最小负载率
	private Integer preIcpOlRuntimeRatio;
	// 同步层次化安装
	private Integer simulHierSetups;
	// 护绿能力计划
	private Integer ignoreForCapPlan;
	// 不需要派工标记
	private Integer noneNeedDispatch;
	private Integer equipmentState;
	// 资源参考文档
	private String equipmentReference;
	// 资源关键等级
/*	private Integer criticalLevel;*/

	// 需要NC代码
	private Float needNc;
	// 月计划工作时间
	private Float monthPlanWorkTime;
	// 工种类型
	private String workType;
	// 对应的日历
	private Set<Calendar> calendars = new HashSet<Calendar>(0);
	// 对应的操作者
	private Set<Employee> operators = new HashSet<Employee>(0);

	private Set<EmployeeDeviceCertification> employeeEquipmentCertificates = new HashSet<EmployeeDeviceCertification>(
			0);
	// r_resource_calendar中的属性，还有上面的groupId
	private Float usableAbility;

	public String getEquipmentUid() {
		return equipmentUid;
	}

	public void setEquipmentUid(String equipmentUid) {
		this.equipmentUid = equipmentUid;
	}

	public String getEquipmentName() {
		return equipmentName;
	}

	public void setEquipmentName(String equipmentName) {
		this.equipmentName = equipmentName;
	}

	public String getEquipmentType() {
		return equipmentType;
	}

	public String getCustomerResUid() {
		return customerResUid;
	}

	public void setCustomerResUid(String customerResUid) {
		this.customerResUid = customerResUid;
	}

	public void setEquipmentType(String equipmentType) {
		this.equipmentType = equipmentType;
	}

	public String getEquipmentClassUid() {
		return equipmentClassUid;
	}

	public void setEquipmentClassUid(String equipmentClassUid) {
		this.equipmentClassUid = equipmentClassUid;
	}

	public String getLocation() {
		return location;
	}

	public void setLocation(String location) {
		this.location = location;
	}

	public Integer getNumOfPooledResources() {
		return numOfPooledResources;
	}

	public void setNumOfPooledResources(Integer numOfPooledResources) {
		this.numOfPooledResources = numOfPooledResources;
	}

	public Integer getEstimatedQueueTime() {
		return estimatedQueueTime;
	}

	public void setEstimatedQueueTime(Integer estimatedQueueTime) {
		this.estimatedQueueTime = estimatedQueueTime;
	}

	public String getEstimatedQueueTimeUom() {
		return estimatedQueueTimeUom;
	}

	public void setEstimatedQueueTimeUom(String estimatedQueueTimeUom) {
		this.estimatedQueueTimeUom = estimatedQueueTimeUom;
	}

	public Integer getDefaultSetupTime() {
		return defaultSetupTime;
	}

	public void setDefaultSetupTime(Integer defaultSetupTime) {
		this.defaultSetupTime = defaultSetupTime;
	}

	public String getDefaultTimeUom() {
		return defaultTimeUom;
	}

	public void setDefaultTimeUom(String defaultTimeUom) {
		this.defaultTimeUom = defaultTimeUom;
	}

	public Float getIdealUtilizationLevel() {
		return idealUtilizationLevel;
	}

	public void setIdealUtilizationLevel(Float idealUtilizationLevel) {
		this.idealUtilizationLevel = idealUtilizationLevel;
	}

	public Calendar getDefaultCalendar() {
		return defaultCalendar;
	}

	public void setDefaultCalendar(Calendar defaultCalendar) {
		this.defaultCalendar = defaultCalendar;
	}

	public String getIdealUtilCalendarName() {
		return idealUtilCalendarName;
	}

	public void setIdealUtilCalendarName(String idealUtilCalendarName) {
		this.idealUtilCalendarName = idealUtilCalendarName;
	}

	public String getWageRatePer() {
		return wageRatePer;
	}

	public void setWageRatePer(String wageRatePer) {
		this.wageRatePer = wageRatePer;
	}

	public Float getWageRatePerTime() {
		return wageRatePerTime;
	}

	public void setWageRatePerTime(Float wageRatePerTime) {
		this.wageRatePerTime = wageRatePerTime;
	}

	public String getSetupMatrixId() {
		return setupMatrixId;
	}

	public void setSetupMatrixId(String setupMatrixId) {
		this.setupMatrixId = setupMatrixId;
	}

	public String getSetupSequenceId() {
		return setupSequenceId;
	}

	public void setSetupSequenceId(String setupSequenceId) {
		this.setupSequenceId = setupSequenceId;
	}

	public Integer getSetupSequenceGoback() {
		return setupSequenceGoback;
	}

	public void setSetupSequenceGoback(Integer setupSequenceGoback) {
		this.setupSequenceGoback = setupSequenceGoback;
	}

	public Integer getMinimumQueueTime() {
		return minimumQueueTime;
	}

	public void setMinimumQueueTime(Integer minimumQueueTime) {
		this.minimumQueueTime = minimumQueueTime;
	}

	public String getMinimumQueueTimeUom() {
		return minimumQueueTimeUom;
	}

	public void setMinimumQueueTimeUom(String minimumQueueTimeUom) {
		this.minimumQueueTimeUom = minimumQueueTimeUom;
	}

	public String getModelName() {
		return modelName;
	}

	public void setModelName(String modelName) {
		this.modelName = modelName;
	}

	public Integer getScheduleFreezeLevel() {
		return scheduleFreezeLevel;
	}

	public void setScheduleFreezeLevel(Integer scheduleFreezeLevel) {
		this.scheduleFreezeLevel = scheduleFreezeLevel;
	}

	public String getScheduleFreezeLevelUom() {
		return scheduleFreezeLevelUom;
	}

	public void setScheduleFreezeLevelUom(String scheduleFreezeLevelUom) {
		this.scheduleFreezeLevelUom = scheduleFreezeLevelUom;
	}

	public Integer getBatchingLevel() {
		return batchingLevel;
	}

	public void setBatchingLevel(Integer batchingLevel) {
		this.batchingLevel = batchingLevel;
	}

	public String getBatchingLevelUom() {
		return batchingLevelUom;
	}

	public void setBatchingLevelUom(String batchingLevelUom) {
		this.batchingLevelUom = batchingLevelUom;
	}

	public Integer getBatchingLookAhead() {
		return batchingLookAhead;
	}

	public void setBatchingLookAhead(Integer batchingLookAhead) {
		this.batchingLookAhead = batchingLookAhead;
	}

	public String getBatchingLookAheadUom() {
		return batchingLookAheadUom;
	}

	public void setBatchingLookAheadUom(String batchingLookAheadUom) {
		this.batchingLookAheadUom = batchingLookAheadUom;
	}

	public Integer getLatenessTolerance() {
		return latenessTolerance;
	}

	public void setLatenessTolerance(Integer latenessTolerance) {
		this.latenessTolerance = latenessTolerance;
	}

	public String getLatenessToleranceUom() {
		return latenessToleranceUom;
	}

	public void setLatenessToleranceUom(String latenessToleranceUom) {
		this.latenessToleranceUom = latenessToleranceUom;
	}

	public Integer getEarlinessTolerance() {
		return earlinessTolerance;
	}

	public void setEarlinessTolerance(Integer earlinessTolerance) {
		this.earlinessTolerance = earlinessTolerance;
	}

	public String getEarlinessToleranceUom() {
		return earlinessToleranceUom;
	}

	public void setEarlinessToleranceUom(String earlinessToleranceUom) {
		this.earlinessToleranceUom = earlinessToleranceUom;
	}

	public String getQueueSizeMode() {
		return queueSizeMode;
	}

	public void setQueueSizeMode(String queueSizeMode) {
		this.queueSizeMode = queueSizeMode;
	}

	public String getMaxQueueSize() {
		return maxQueueSize;
	}

	public void setMaxQueueSize(String maxQueueSize) {
		this.maxQueueSize = maxQueueSize;
	}

	public String getQueueConformanceMode() {
		return queueConformanceMode;
	}

	public void setQueueConformanceMode(String queueConformanceMode) {
		this.queueConformanceMode = queueConformanceMode;
	}

	public Integer getOutputRateLimit() {
		return outputRateLimit;
	}

	public void setOutputRateLimit(Integer outputRateLimit) {
		this.outputRateLimit = outputRateLimit;
	}

	public String getOutputRateLimitPer() {
		return outputRateLimitPer;
	}

	public void setOutputRateLimitPer(String outputRateLimitPer) {
		this.outputRateLimitPer = outputRateLimitPer;
	}

	public String getOutputRateLimitUom() {
		return outputRateLimitUom;
	}

	public void setOutputRateLimitUom(String outputRateLimitUom) {
		this.outputRateLimitUom = outputRateLimitUom;
	}

	public Integer getLowRwt() {
		return lowRwt;
	}

	public void setLowRwt(Integer lowRwt) {
		this.lowRwt = lowRwt;
	}

	public String getLowRwtPer() {
		return lowRwtPer;
	}

	public void setLowRwtPer(String lowRwtPer) {
		this.lowRwtPer = lowRwtPer;
	}

	public String getLowRwtUom() {
		return lowRwtUom;
	}

	public void setLowRwtUom(String lowRwtUom) {
		this.lowRwtUom = lowRwtUom;
	}

	public String getHighRwtUom() {
		return highRwtUom;
	}

	public void setHighRwtUom(String highRwtUom) {
		this.highRwtUom = highRwtUom;
	}

	public String getHighRwtPer() {
		return highRwtPer;
	}

	public void setHighRwtPer(String highRwtPer) {
		this.highRwtPer = highRwtPer;
	}

	public Integer getHighRwt() {
		return highRwt;
	}

	public void setHighRwt(Integer highRwt) {
		this.highRwt = highRwt;
	}

	public String getAcmFlag() {
		return acmFlag;
	}

	public void setAcmFlag(String acmFlag) {
		this.acmFlag = acmFlag;
	}

	public String getOvertimeCostPer() {
		return overtimeCostPer;
	}

	public void setOvertimeCostPer(String overtimeCostPer) {
		this.overtimeCostPer = overtimeCostPer;
	}

	public String getOvertimeCostPerTime() {
		return overtimeCostPerTime;
	}

	public void setOvertimeCostPerTime(String overtimeCostPerTime) {
		this.overtimeCostPerTime = overtimeCostPerTime;
	}

	public Integer getLastMaintenanceDate() {
		return lastMaintenanceDate;
	}

	public void setLastMaintenanceDate(Integer lastMaintenanceDate) {
		this.lastMaintenanceDate = lastMaintenanceDate;
	}

	public String getLastMaintenanceDateFormat() {
		return lastMaintenanceDateFormat;
	}

	public void setLastMaintenanceDateFormat(String lastMaintenanceDateFormat) {
		this.lastMaintenanceDateFormat = lastMaintenanceDateFormat;
	}

	public String getLastMaintenanceSequenceNumber() {
		return lastMaintenanceSequenceNumber;
	}

	public void setLastMaintenanceSequenceNumber(
			String lastMaintenanceSequenceNumber) {
		this.lastMaintenanceSequenceNumber = lastMaintenanceSequenceNumber;
	}
	public Integer getLastMaintenanceTime() {
		return lastMaintenanceTime;
	}

	public void setLastMaintenanceTime(Integer lastMaintenanceTime) {
		this.lastMaintenanceTime = lastMaintenanceTime;
	}

	public String getLastMaintenanceTimeUom() {
		return lastMaintenanceTimeUom;
	}

	public void setLastMaintenanceTimeUom(String lastMaintenanceTimeUom) {
		this.lastMaintenanceTimeUom = lastMaintenanceTimeUom;
	}

	public Integer getLoadSinceLastMaintenance() {
		return loadSinceLastMaintenance;
	}

	public void setLoadSinceLastMaintenance(Integer loadSinceLastMaintenance) {
		this.loadSinceLastMaintenance = loadSinceLastMaintenance;
	}

	public String getLoadSinceUom() {
		return loadSinceUom;
	}

	public void setLoadSinceUom(String loadSinceUom) {
		this.loadSinceUom = loadSinceUom;
	}

	public Integer getMaximumUtilLevel() {
		return maximumUtilLevel;
	}

	public void setMaximumUtilLevel(Integer maximumUtilLevel) {
		this.maximumUtilLevel = maximumUtilLevel;
	}

	public String getMinOpTimeCalName() {
		return minOpTimeCalName;
	}

	public void setMinOpTimeCalName(String minOpTimeCalName) {
		this.minOpTimeCalName = minOpTimeCalName;
	}

	public Date getMinQueueConfigLength() {
		return minQueueConfigLength;
	}

	public void setMinQueueConfigLength(Date minQueueConfigLength) {
		this.minQueueConfigLength = minQueueConfigLength;
	}

	public String getMinQueueConfigUom() {
		return minQueueConfigUom;
	}

	public void setMinQueueConfigUom(String minQueueConfigUom) {
		this.minQueueConfigUom = minQueueConfigUom;
	}

	public Integer getMinimumUtilizationLevel() {
		return minimumUtilizationLevel;
	}

	public void setMinimumUtilizationLevel(Integer minimumUtilizationLevel) {
		this.minimumUtilizationLevel = minimumUtilizationLevel;
	}

	public Integer getOffloadableFrom() {
		return offloadableFrom;
	}

	public void setOffloadableFrom(Integer offloadableFrom) {
		this.offloadableFrom = offloadableFrom;
	}

	public Integer getOffloadableTo() {
		return offloadableTo;
	}

	public void setOffloadableTo(Integer offloadableTo) {
		this.offloadableTo = offloadableTo;
	}

	public Integer getOvertimeBasis() {
		return overtimeBasis;
	}

	public void setOvertimeBasis(Integer overtimeBasis) {
		this.overtimeBasis = overtimeBasis;
	}

	public String getOvertimeBasisUom() {
		return overtimeBasisUom;
	}

	public void setOvertimeBasisUom(String overtimeBasisUom) {
		this.overtimeBasisUom = overtimeBasisUom;
	}

	public Integer getOvertimeScope() {
		return overtimeScope;
	}

	public void setOvertimeScope(Integer overtimeScope) {
		this.overtimeScope = overtimeScope;
	}

	public String getOvertimeScopeUom() {
		return overtimeScopeUom;
	}

	public void setOvertimeScopeUom(String overtimeScopeUom) {
		this.overtimeScopeUom = overtimeScopeUom;
	}

	public String getProcessedMaterialTypes() {
		return processedMaterialTypes;
	}

	public void setProcessedMaterialTypes(String processedMaterialTypes) {
		this.processedMaterialTypes = processedMaterialTypes;
	}

	public String getQueueSizeUom() {
		return queueSizeUom;
	}

	public void setQueueSizeUom(String queueSizeUom) {
		this.queueSizeUom = queueSizeUom;
	}

	public Integer getSchedulingCriticality() {
		return schedulingCriticality;
	}

	public void setSchedulingCriticality(Integer schedulingCriticality) {
		this.schedulingCriticality = schedulingCriticality;
	}

	public String getUnitSetupCostPer() {
		return unitSetupCostPer;
	}

	public void setUnitSetupCostPer(String unitSetupCostPer) {
		this.unitSetupCostPer = unitSetupCostPer;
	}

	public Float getUnitSetupCostPerTime() {
		return unitSetupCostPerTime;
	}

	public void setUnitSetupCostPerTime(Float unitSetupCostPerTime) {
		this.unitSetupCostPerTime = unitSetupCostPerTime;
	}

	public Integer getCaoPostProcDownstream() {
		return caoPostProcDownstream;
	}

	public void setCaoPostProcDownstream(Integer caoPostProcDownstream) {
		this.caoPostProcDownstream = caoPostProcDownstream;
	}

	public Integer getKeepRelatedTasksTog() {
		return keepRelatedTasksTog;
	}

	public void setKeepRelatedTasksTog(Integer keepRelatedTasksTog) {
		this.keepRelatedTasksTog = keepRelatedTasksTog;
	}

	public Integer getPreIcpOlRuntimeRatio() {
		return preIcpOlRuntimeRatio;
	}

	public void setPreIcpOlRuntimeRatio(Integer preIcpOlRuntimeRatio) {
		this.preIcpOlRuntimeRatio = preIcpOlRuntimeRatio;
	}

	public Integer getSimulHierSetups() {
		return simulHierSetups;
	}

	public void setSimulHierSetups(Integer simulHierSetups) {
		this.simulHierSetups = simulHierSetups;
	}

	public Integer getIgnoreForCapPlan() {
		return ignoreForCapPlan;
	}

	public void setIgnoreForCapPlan(Integer ignoreForCapPlan) {
		this.ignoreForCapPlan = ignoreForCapPlan;
	}

	public Integer getNoneNeedDispatch() {
		return noneNeedDispatch;
	}

	public void setNoneNeedDispatch(Integer noneNeedDispatch) {
		this.noneNeedDispatch = noneNeedDispatch;
	}

	public String getEquipmentReference() {
		return equipmentReference;
	}

	public void setEquipmentReference(String equipmentReference) {
		this.equipmentReference = equipmentReference;
	}


	public Float getNeedNc() {
		return needNc;
	}

	public void setNeedNc(Float needNc) {
		this.needNc = needNc;
	}

	public Float getMonthPlanWorkTime() {
		return monthPlanWorkTime;
	}

	public void setMonthPlanWorkTime(Float monthPlanWorkTime) {
		this.monthPlanWorkTime = monthPlanWorkTime;
	}

	public String getWorkType() {
		return workType;
	}

	public void setWorkType(String workType) {
		this.workType = workType;
	}

	public Set<Calendar> getCalendars() {
		return calendars;
	}

	public void setCalendars(Set<Calendar> calendars) {
		this.calendars = calendars;
	}


	public void setOperators(Set<Employee> operators) {
		this.operators = operators;
	}

	public Set<EmployeeDeviceCertification> getEmployeeEquipmentCertificates() {
		return employeeEquipmentCertificates;
	}

	public void setEmployeeEquipmentCertificates(
			Set<EmployeeDeviceCertification> employeeEquipmentCertificates) {
		this.employeeEquipmentCertificates = employeeEquipmentCertificates;
	}

	public Float getUsableAbility() {
		return usableAbility;
	}

	public void setUsableAbility(Float usableAbility) {
		this.usableAbility = usableAbility;
	}

	public Integer getEquipmentState() {
		return equipmentState;
	}

	public void setEquipmentState(Integer equipmentState) {
		this.equipmentState = equipmentState;
	}

	public String getDeptUid() {
		return deptUid;
	}

	public void setDeptUid(String deptUid) {
		this.deptUid = deptUid;
	}

	public String getEquipmentClassName() {
		return equipmentClassName;
	}

	public void setEquipmentClassName(String equipmentClassName) {
		this.equipmentClassName = equipmentClassName;
	}
	
	public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}

	public String getOldDeptUid() {
		return oldDeptUid;
	}

	public void setOldDeptUid(String oldDeptUid) {
		this.oldDeptUid = oldDeptUid;
	}

	public String getOldEquipmentClassUid() {
		return oldEquipmentClassUid;
	}

	public void setOldEquipmentClassUid(String oldEquipmentClassUid) {
		this.oldEquipmentClassUid = oldEquipmentClassUid;
	}
	
}